package cn.teduymdj.jxc.pojo.vo;


import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 商品实体的列表项VO类
 * @author 陈坤鹏
 *
 */
@Data
public class GoodsStandardVO implements Serializable {

	private Long id; // 编号

	private String code; // 商品编码

	private Integer inventoryQuantity; // 库存数量

	private BigDecimal lastPurchasingPrice; // 上次采购价格

	private Integer minNum; // 库存下限

	private String model; // 商品型号

	private String name; // 商品名称

	private String producer; // 生产厂商

	private BigDecimal purchasingPrice; // 采购价格  成本价  假如价格变动 算平均值

	private String remarks; // 备注

	private BigDecimal sellingPrice; // 出售价格

	private Integer state; // 0 初始化状态 1 期初库存入仓库  2  有进货或者销售单据

	private Integer enable;//是否启用,1=启用,0=未启用

	private String unit; // 商品单位

	private Long typeId; // 商品类别

	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	private LocalDateTime gmtCreate;//数据创造时间

	@JsonDeserialize(using = LocalDateTimeDeserializer.class)
	@JsonSerialize(using = LocalDateTimeSerializer.class)
	private LocalDateTime gmtModified;//数据最后修改时间

	//损态，该注解使字段只作为映射，不会作为数据库的表字段
	private transient Integer saleTotal;// 销售总量，不记录在数据库表中

}
